using System;
using Sinacor.Infra.Common;
using System.Collections.Generic;
using Sinacor.Servico.Bovespa.Corretagem.BusinessEntity;
using Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response;

namespace Sinacor.Servico.Bovespa.Corretagem.Service.ServiceImplementation.Translator
{
    /// <summary>
    /// Classe tradutora entre objetos PoliticaCorretagem e PoliticaCorretagem
    /// </summary>
    public class PoliticaCorretagemToPoliticaCorretagemResponse : BaseTranslator<Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.PoliticaCorretagemResponse, Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.PoliticaCorretagem, List<Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.PoliticaCorretagemResponse>, List<Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.PoliticaCorretagem>>
    {
        #region Metodos
        /// <summary>
        /// Translator
        /// </summary>
        /// <param name="from"></param>
        /// <returns></returns>
        public override Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.PoliticaCorretagemResponse Translate(Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.PoliticaCorretagem from)
        {
            Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.PoliticaCorretagemResponse to = new Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Response.PoliticaCorretagemResponse();
            to.Codigo = from.Codigo;
            to.CodigoTabelaPadrao = from.CodigoTabelaPadrao;
            to.CodigoTabelaBeneficio = from.CodigoTabelaBeneficio;
            to.Descricao = from.Descricao;
            to.DataFinal = from.DataFinal;
            to.DataInicial = from.DataInicial;
            to.EfetuarVerificacao = from.EfetuarVerificacao;
            to.TipoAplicacao.Codigo = from.TipoAplicacao.Codigo;
            to.TipoAplicacao.Descricao = from.TipoAplicacao.Descricao;
            to.TipoControleBeneficio = Sinacor.Infra.Service.Common.EnumConverter.Parse<DataContract.Enum.TipoControleBeneficio>(Sinacor.Infra.Service.Common.EnumConverter.ToString<BusinessEntity.Enum.TipoControleBeneficio>(from.TipoControleBeneficio));

            return to;
        }
        #endregion
    }
}

